//
//  camera.hpp
//  RPG
//
//  Created by Matt Bailey on 30/12/2013.
//  Copyright (c) 2013 Matt Bailey. All rights reserved.
//

#pragma once

//#include "glm/glm.hpp"
#include "glm/gtc/matrix_transform.hpp"

#include "game.hpp"
#include "GLFW/glfw3.h"

//#include "window.hpp"

class Camera {
    
    static glm::mat4 Model;
    static glm::mat4 View;
    static glm::mat4 Projection;

    static glm::mat4 MVP;
    
    static float zoom;
    static float cameraX, cameraY;
    static float refX, refY;
    
    public:

        static void init();
    
        static void setZoom(const float);
        static void translateCamera(int, int);
        static void updateCamera();
    
        static glm::mat4 getMVP() { return MVP; }
        static glm::mat4 getModel() { return Model; }
        static glm::mat4 getView() { return View; }
        static glm::mat4 getProjection() { return Projection; }
    
        static float getPosX() { return cameraX; }
        static float getPosY() { return cameraY; }
    
        static float getrefX() { return refX; }
        static float getrefY() { return refY; }
};